package student.aistar.day11;

import java.util.ArrayList;
import java.util.Iterator;
import java.util.List;
import java.util.function.Consumer;

public class ArrayListDemo {
    public static void main(String[] args) {
        List<Long> list = new ArrayList<>();
        //添加元素
        list.add(1L);
        list.add(2L);
        list.add(3L);

        //删除的方法
//        list.remove(1L);

        //清空元素
//        list.clear();

        //判断集合的大小是否0, 判断集合是否为空
//        System.out.println(list.isEmpty());

        //判断集合中是否包含某个元素, 如果不包含, 返回false
//        System.out.println(list.contains(2L));//true

        //返回某个数组在集合中第一次出现的位置, 如果不存在, 则返回-1
//        System.out.println(list.indexOf(2L));//1

        //集合的大小
//        System.out.println(list.size());//3

        System.out.println(list);

        //普通for
        for (int i = 0; i < list.size(); i++) {
            Long aLong = list.get(i);
            System.out.println(aLong);
        }
        //增强for - 只读的for, 不能进行删除和增加操作

        for (Long aLong : list) {
            System.out.println(aLong);
        }

        System.out.println("====集合特有的一种遍历方式");
        //1.获取集合的迭代器
        Iterator<Long> iterator = list.iterator();
        //2.调用hasNext方法
        while (iterator.hasNext()){//判断迭代器中是否仍有下一个元素可被迭代
            System.out.println(iterator.next());
        }

        System.out.println("======jdk8新特性");
        list.forEach(new Consumer<Long>() {
            @Override
            public void accept(Long aLong) {
                System.out.println(aLong);
            }
        });

        System.out.println("=========lamda========");
        list.forEach(e -> System.out.println(e));

        System.out.println("===========");
        list.forEach(System.out::print);

    }
}
